#ifndef __DATA_DEMON_H__
#define __DATA_DEMON_H__

#include "regist.h"
#include "std.h"


//用户数据结构体
typedef struct user
{
     char name[16]; //用户名
     char passwd[64];//用户密码
     int IDcard ;  //用户身份证信息
    //  char * ticket[10]; //指针数组:存储航班信息。
}user;
//用户数据节点 - 单链表
typedef struct unode
{
    user  userm;
    struct unode*next;
}unode;

typedef struct head_node
{
    unode * head;
}head_node;
/////////////////////////////////////////////////////////////////////////////////

typedef struct flight
{
        int id ; //航班班次
        char startcity[20] ; //航班起点站
        char starttime[10];  //起飞时间 
        char arrivecity[20] ; //航班终点站
        char arrivetime[10] ; //到达时间 时:分
        char flytime[20] ;//飞行时间
        float value ;  //票价
        int maxNUM ; //额定载客量，
        int leftbuyersa ; //剩余座位数量
        char whetherfly[5]  ;//是否起飞 ‘y’ ‘n’
}flight_t;

//航班信息节点 - 双向循环链表
typedef struct fnode
{
    struct fnode * before;
    flight_t  data;
    struct fnode * after;
}fnode;

typedef struct head
{
    fnode * head;
}head;

//创建航班信息双向循环链表
head * initfly();
//增加航班信息到文件中
void Inputflydata();
//从文件中读取航班信息
head * readfly();
//从文件删除航班信息
void deletoutflydata(head *p);
//乘客购票或退票（更改航班的剩余票数）
void changeflytickt(head *p,unode *user,int num);
//乘客购票信息读取
head * readtickuser(unode *user);
//打印函数
void ptf(head *p);
//排序函数
void sort(head *p);


#endif

